#include "BinaryTree.h"

BTNode* CreateNode(int x)
{
	BTNode* node = (BTNode*)malloc(sizeof(BTNode));
	node->_data = x;
	node->_left = NULL;
	node->_right = NULL;

	return node;
}


int main()
{
	BTNode* A = CreateNode('A');
	BTNode* B = CreateNode('B');
	BTNode* C = CreateNode('C');
	BTNode* D = CreateNode('D');
	BTNode* E = CreateNode('E');


	A->_left = B;
	A->_right = C;
	B->_left = D;
	B->_right = E;


	BinaryTreeLevelOrder(A);

	PrevOrder(A);
	printf("\n");
	InOrder(A);
	printf("\n");
	PostOrder(A);
	printf("\n");


	//int a = 0;
	//TreeSize(A,&a);
	//printf("%d",a);

	printf("%d\n", TreeSize(A));
	printf("%d\n", TreeLeafSize(A));
	printf("%d\n", TreeDepth(A));
	return 0;
}